package com.example.util.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public enum MobileCard {
//    移动：134、135、136、137、138、139、144、147、148、150、151、152、157、158、159、165、170、172、178、 182 、183 、184 、187、188、195、197、198
//    联通：130、131、132、140、145、146、155、156、166、167、170、 171、175、176、185、186、196
//    电信：145、176、133、134、141、149、162、153、177、173、180、181、189、199、165、170、 171、 174、190、191、193
//    广电：192
    A("134",""),
    B("135",""),
    C("136",""),
    D("137",""),
    E("138",""),
    F("139",""),
    G("144","物联网"),
    H("147",""),
    I("148","物联网"),
    J("150",""),
    K("151",""),
    L("152",""),
    M("157",""),
    N("158",""),
    O("159",""),
    P("165",""),
    Q("172","物联网"),
    R("178",""),
    S("182",""),
    T("183",""),
    U("184",""),
    V("187",""),
    W("188",""),
    X("195",""),
    Y("197",""),
    Z("198",""),
    AA("170","三网都有"),



    BA("130",""),
    BB("131",""),
    BC("132",""),
    BD("140",""),
    BE("145","联通电信都有"),
    BF("146",""),
    BG("155",""),
    BH("156",""),
    BI("166",""),
    BJ("167",""),
    BK("170",""),
    BL("171","联通电信都有"),
    BM("175",""),
    BN("176","联通电信都有"),
    BO("185",""),
    BP("186",""),
    BQ("196",""),

    CA("133",""),
    CB("141",""),
    CC("149",""),
    CD("162",""),
    CE("153",""),
    CF("177",""),
    CG("173",""),
    CH("180",""),
    CI("181",""),
    CJ("189",""),
    CK("199",""),
    CL("174",""),
    CM("190",""),
    CN("191",""),
    CO("193",""),
    CP("192",""),

    ;





    String number;
    String des;

    MobileCard(String number, String des) {
        this.number = number;
        this.des = des;
    }

    public String getNumber() {
        return number;
    }

    public static List<String> allDatas() {
        MobileCard[] values = MobileCard.values();
        List<String> collect = Arrays.stream(values).map(item -> item.number).collect(Collectors.toList());
        return collect;
    }
    public static List<String> getDatasByCardType(String flag) {

        List<String> collect = new ArrayList<>(3);
        switch (flag) {
            case "1" :
                collect.add("134");
                collect.add("135");
                collect.add("136");
                break;
            case "2" :{
                collect.add("137");
                collect.add("138");
                collect.add("139");
                break;
            }
            case "3" :{
                collect.add("144");
                collect.add("147");
                collect.add("148");
                break;
            }
            case "4" :{
                collect.add("150");
                collect.add("151");
                collect.add("152");
                break;
            }
            case "5" :{
                collect.add("157");
                collect.add("158");
                collect.add("159");
                break;
            }
            case "6" :{
                collect.add("165");
                collect.add("172");
                collect.add("178");
                break;
            }
            case "7" :{
                collect.add("182");
                collect.add("183");
                collect.add("184");
                break;
            }
            case "8" :{
                collect.add("187");
                collect.add("188");
                collect.add("195");
                break;
            }
            case "9" :{
                collect.add("197");
                collect.add("198");
                collect.add("170");
                break;
            }
            case "10" :{
                collect.add("130");
                collect.add("131");
                collect.add("132");
                break;
            }
            case "11" :{
                collect.add("140");
                collect.add("145");
                collect.add("146");
                break;
            }
            case "12" :{
                collect.add("155");
                collect.add("156");
                collect.add("166");
                break;
            }
            case "13" :{
                collect.add("171");
                collect.add("170");
                collect.add("167");
                break;
            }
            case "14" :{
                collect.add("175");
                collect.add("176");
                collect.add("185");
                break;
            }
            case "15" :{
                collect.add("186");
                collect.add("196");
                collect.add("133");
                break;
            }
            case "16" :{
                collect.add("141");
                collect.add("149");
                collect.add("162");
                break;
            }
            case "17" :{
                collect.add("153");
                collect.add("177");
                collect.add("173");
                break;
            }
            case "18" :{
                collect.add("180");
                collect.add("181");
                collect.add("189");
                break;
            }
            case "19" :{
                collect.add("199");
                collect.add("174");
                collect.add("190");
                break;
            }
            case "20" :{
                collect.add("191");
                collect.add("193");
                collect.add("192");
                break;
            }

        }

        return collect;
    }
}
